package com.zsxb.crm.mapper;

import com.github.pagehelper.Page;
import com.zsxb.crm.annotation.AutoFill;
import com.zsxb.crm.annotation.Log;
import com.zsxb.crm.dto.DeptDTO;
import com.zsxb.crm.enumeration.OperationType;
import com.zsxb.crm.pojo.Dept;


import com.zsxb.crm.vo.TreeselectVO;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface DeptMapper {
    //查询部门列表
    List<Dept> getDeptList(DeptDTO deptDTO);
    //根据部门id查询部门
    Dept getById(Long deptId);
    //新增部门

    @AutoFill(OperationType.INSERT)
    void insert(DeptDTO deptDTO);

    //修改部门

    @AutoFill(OperationType.UPDATE)
    void update(DeptDTO deptDTO);
    //删除部门

    @Delete("delete from tb_dept where dept_id = #{id}")
    void delete(Long id);

    List<TreeselectVO> treeselect();
    //分页查询部门
    Page<Dept> getDepts(DeptDTO deptDTO);
    //查询部门下所有部门id
    List<Dept> getDeptLists(Long deptId);
    //根据部门id查询部门
    Dept getDept(Integer deptId);


}


